-- card: 3531 from stack: in -- bmap block id: 3122 -- flags: 0000 -- background id: 2777 -- name: -- part 1 (field) -- low flags: 01 -- high flags: 2007 -- rect: left=19 top=43 right=321 bottom=498 -- title width / last selected line: 0 -- icon id / first selected line: 0 / 0 -- text alignment: 0 -- font id: 3 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: -- part 2 (button) -- low flags: 00 -- high flags: 0000 -- rect: left=432 top=19 right=48 bottom=470 -- title width / last selected line: 0 -- icon id / first selected line: 1011 / 1011 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Home ----- HyperTalk script ----- on mouseUp visual effect iris close go home end mouseUp -- part 3 (button) -- low flags: 00 -- high flags: 0000 -- rect: left=389 top=19 right=47 bottom=425 -- title width / last selected line: 0 -- icon id / first selected line: 9120 / 9120 -- text alignment: 1 -- font id: 0 -- text size: 12 -- style flags: 0 -- line height: 16 -- part name: Prev ----- HyperTalk script ----- on mouseUp visual effect dissolve go to prev card end mouseUp -- part contents for card part 1 ----- text ----- • MIDI Recorder v1.0 • MIDI XCMD resource v1.0 © 1/1/1988 Kunihito.Koike Yokohama,Japan • This is the freeware. Please UpLoad to your favorite BBS . . . This is the MIDI XCMD example stack which contains the MIDI command in an XCMD resource. This XCMD can comunicate with various MIDI equipments. If you want to create your MIDI stack, you must copy this XCMD resource to your stack with Resource Editer. This is very simple stack, but you can study quickly about MIDI XCMD. You can create various MIDI stacks with this XCMD command . . . Controler . . Sound Librarian . . Sequencer . . . etc . If you have some question or suggestion, please send me E-Mail . CompusServe 76661,526 NIFTY-Serve SGB00526 Kanto Central #208 Mac Event / Janet / Music Panic Bord -> Kunihito Koike This is used the MIDIShell created by Mr K.Austin.(MacTutor VOL3 NO12) So you had better refer to this issue. Thank you for his nice working. Let's enjoy HyperCard with MIDI ! K.Koike • About MIDI Recorder . . RECORD button -> recording datas from MIDI into track A or B. PLAY button -> playing datas from track A or B . PROGRAM button -> change program number for MIDI equipments . Track A&B button -> select track A or B . If you want to stop recording or playing before time limit, please click mouse button. • About MIDI command . . . You can receive the MIDI datas from equipments . You can get MIDI datas asking for "the result" after execution command. MIDI in,time <- time( msec ) is ASCII strings. You can send the MIDI datas to MIDI equipments. MIDI out,data <- data is MIDI byte strings. ( Show below !! ) First option is select port function. Second option is MIDI thru function. MIDI out,data,port MIDI in,time,port,thru port <- 0 is to modem port . 1 is to printer port. thru <- 0 is no thru function. 1 is MIDI thru on the same port. 2 is MIDI thru on the opposite port. Command returns the Error Beep sounds. Beep 1 is Syntax Error . the result <- "Syntax" Beep 2 is Few memory Error. the result <- "Memory" • About MIDI datas . . . MDID byte stream is converted zero-terminated ASCII strings into HyperCard . Each MIDI bytes are separated by SPACE ASCII character. 144 60 64 <- KEY ON C3 with VELOCITY 60 MIDI one byte can accompany Time Stamping data. MIDI one byte with Time Stamping is Time( msec ) *256 +MIDI byte . 144 60 64 256144 60 0 <- KEY OFF C3 after 1 sec • Examples. . . MIDI in,"10000" put the result into card field "Data A" MIDI out,"144 60 64 256144 60 0",1 ( to printer port ) put card field "Data B" into data MIDI out,data